![]() |
TB24 - EditÉtÉBÅ[ÉãÉhÇïœçXÇ∑ÇÈÇΩÇflÇ…'ictb'ÇégópÇ∑ÇÈÅi25-October-96Åj
Q: ÇQǬÇÃEdit TextÉtÉBÅ[ÉãÉhÇéùǬÉ_ÉCÉAÉçÉOÉ{ÉbÉNÉXÇçÏê¨ÇµÅAǪÇÍÇÁÇÃÉtÉHÉìÉgÇGenevaÇÃ10É|ÉCÉìÉgÇ…ïœçXÇ∑ÇÈÇΩÇflÇ…
A: DZÇÍÇÕÅADialog ManagerÇ™ //------------------------------------------------------------------ static void SetUpEditField (DialogRef dlog,short fontNum,short fontSize) //------------------------------------------------------------------ { FontInfo info; DialogPeek dpeek = (DialogPeek)dlog; if (dpeek != nil) { TEHandle te = dpeek->textH; //TEHandleÇÃéÊìæ if (te != nil) { short oldFont = dlog->txFont; //å√Ç¢èÓïÒÇÃï€ë∂ short oldSize = dlog->txSize; TextFont(fontNum); //portÇ…ê≥ǵǢÉtÉHÉìÉgèÓïÒÇÉZÉbÉg TextSize(fontSize); GetFontInfo(&info); // Ç≥ǃÅADialog ManagerÇ™12É|ÉCÉìÉgÇÃèÓïÒÇécǵÇΩNjNjǻÇÃÇ≈ÅA // TEÉåÉRÅ[ÉhÇfixǵNjǵÇÂǧǩ te[0]->txFont = fontNum; // ÉtÉHÉìÉgÇÉZÉbÉg te[0]->txSize = fontSize; te[0]->lineHeight = info.ascent + info.descent + info.leading; //ê≥ǵǢèÓïÒÇåvéZ te[0]->fontAscent = info.ascent ; TextFont(oldFont); //ÉtÉHÉìÉgèÓïÒÇÉäÉZÉbÉg TextSize(oldSize); } } } //------------------------------------------------------------------ static short DoDialog(short resID) //------------------------------------------------------------------ { DialogRef dlog; GrafPtr oldPort; short itemHit = 0; GetPort(&oldPort); dlog = GetNewDialog(resID,nil,(WindowRef)-1); if (dlog) { SetPort(dlog); SelectDialogItemText(dlog,2,0x8000,0x8000); //ÉJÅ[É\ÉãÇÃÉZÉbÉg SetUpEditField(dlog,geneva,10); // EditÉtÉBÅ[ÉãÉhÇÃÉZÉbÉg (void)SetDialogDefaultItem(dlog,1); // OKÉ{É^ÉìÇÃÉnÉCÉâÉCÉg ShowWindow(dlog); // É_ÉCÉAÉçÉOÇÃï\é¶ while (itemHit != ok) { ModalDialog(nil,&itemHit); } SetPort(oldPort); DisposeDialog(dlog); } return itemHit; } [ Technical Q&A's : Operating System Services : Toolbox : TB24 ] |
![]() |